/*
 * @Date: 2023-03-26 21:29:53
 * @LastEditors: Zireael 1193875164@qq.com
 * @LastEditTime: 2023-03-26 21:31:09
 * @FilePath: \A19\backend\src\utils\runcode\utils\helper.ts
 */
// import dayjs, { Dayjs } from 'dayjs';
// import tar from 'tar-stream';

type rawType = 'Object' | 'Array' | 'Number' | 'String';

export function isType(...args: rawType[]) {
  return (o: unknown) => {
    return args.some(
      (t) => Object.prototype.toString.call(o) === `[object ${t}]`
    );
  };
}

// export function wrapDayjs(date: Parameters<typeof dayjs>[0]): Dayjs {
//   return dayjs(date).add(8, 'h');
// }

// export function tarStreamToString(
//   stream: NodeJS.ReadableStream
// ): Promise<string> {
//   return new Promise((resolve, reject) => {
//     const extract = tar.extract();
//     const buf: Buffer[] = [];
//     extract.on('entry', function (header, stream, next) {
//       stream.on('data', (chunk) => {
//         buf.push(chunk);
//       });
//       stream.on('end', function () {
//         next();
//       });
//       stream.resume();
//     });
//     extract.on('error', (err) => {
//       reject(err);
//     });

//     extract.on('finish', function () {
//       resolve(buf.toString());
//     });
//     stream.pipe(extract);
//   });
// }
